package core

import (
	"strings"
)

var cfg Conf = Conf{}

var defaultAside = map[string]string{}

func Server() {
	// getConf()
	cfg = InitConfig()
	// - 制作顶部导航栏
	makeNavgition()

	makeWeb()
	// 启动文件变化监听
	Run(cfg.NotePath)
}
func makeWeb() {
	// - 获取配置文件
	// - 清空导出目录
	initWebPageDir(cfg.OutPath)
	// - 生成静态资源目录
	initStaticDir(cfg.OutPath)
	// - 生成页面数据参数
	makeWebPageParams(cfg.NotePath)
	// - 对htmls进行排序
	htmls.Sort()
	// - 生成新闻列表
	// log((htmls.Len()/10 + 1))

	makeNews()

	// - 输出html文F件
	writeHTML(htmls)
}
func makeWebPageParams(filePath string) {
	list := GetFileByType(filePath, FielsAndDirectory) // - 获取当前目录所有文件夹
	hb := HTMLBuiler{}
	for _, v := range list {
		// - 如果该目录是一个文件夹的换创建对应网站目录,并且读取该目录下的所有文件
		fn := filePath + "/" + v.Name()
		if v.IsDir() {
			cd := strings.Replace(fn, cfg.NotePath, cfg.OutPath, 1)
			CreateDir(cd)
			makeWebPageParams(fn)
		} else { // - 否则将文件资源转移后放到HTML类型数组h中
			if IsStatic(fn) {
				makeStatic(fn, strings.Replace(fn, cfg.NotePath, cfg.OutPath, 1))
			} else {
				h := hb.Create(fn).SetOFile(cfg.OutPath).SetRouter(strings.Replace(fn, cfg.NotePath, "", 1)).WithTime(v.ModTime()).Build()
				htmls = append(htmls, h)
			}
		}
	}
}
